package person.bluext.singlegateway.common.utils;

import org.apache.commons.lang3.StringUtils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
 * Description : 字符串操作工具类
 *
 * @author : bluext
 */
public class ProjectStringUtils {

    /**
     * 生成带日期信息的UUID
     *
     * @return UUID值
     */
    public static String generateDateBasedUUID() {
        String dateStr = new SimpleDateFormat("yyyyMMdd").format(new Date());
        return dateStr + UUID.randomUUID().toString().replace("-", "");
    }

    /**
     * 字符串是否为空
     * 为防止一些客户端请求时，参数为空时传递"null"，"null"也被认为是空
     *
     * @param str 待判断字符串
     * @return 是否为空
     */
    public static boolean isBlank(String str) {
        return StringUtils.isBlank(str) || StringUtils.equalsIgnoreCase("null", str);
    }

    /**
     * 首字母小写转换
     *
     * @param originalStr 原始值
     * @return 结果
     */
    public static String firstLtrLower(String originalStr) {
        if (StringUtils.isEmpty(originalStr)) {
            return null;
        }
        String tempFirst = originalStr.substring(0, 1).toLowerCase();
        return tempFirst + originalStr.substring(1, originalStr.length());
    }
}
